package com.zx.cloud.controller.client;

import org.springframework.cloud.netflix.feign.FeignClient;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;

import com.zx.cloud.ApiVersion;
import com.zx.cloud.domain.BusinessNoticeBean;
import com.zx.cloud.domain.NotifyResponseBean;
import com.zx.cloud.model.response.ObjectDataResponse;

/**
 * @Description:
 *
 * @author       Yan Weiwei
 * @Create Time: 2017年11月20日下午4:35:36
 */
@FeignClient(name = CallbackClient.SERVICE_ID, fallback = CallbackClientFallback.class)
public interface CallbackClient {

	/**
     * eureka service name
     */
    String SERVICE_ID = "trade-provider";
    
    @RequestMapping(value =ApiVersion.PROVIDER_V1_PREFIX+"/payfor/receiveNotify", method = RequestMethod.POST)
    ObjectDataResponse<NotifyResponseBean> receiveNotify(BusinessNoticeBean businessNoticeBean);
    
    @RequestMapping(value =ApiVersion.PROVIDER_V1_PREFIX+"/payfor/receiveConfirmNotify", method = RequestMethod.POST)
    ObjectDataResponse<NotifyResponseBean> receiveConfirmNotify(BusinessNoticeBean businessNoticeBean);
    
    @RequestMapping(value =ApiVersion.PROVIDER_V1_PREFIX+"/payfor/receiveRepaymentNotify", method = RequestMethod.POST)
    ObjectDataResponse<NotifyResponseBean> receiveRepaymentNotify(BusinessNoticeBean businessNoticeBean);
}
